catch (someone) with (their) knickers down

Translations
prendre quelqu’un au dépourvu
Definitions
To catch someone in an embarrassing or vulnerable situation, often when they are unprepared or caught off guard. The phrase is informal and sometimes humorous, originating from British English.